#include <chrono>
#include <iostream>
#include <string>
#include <thread>
#include "zmq.hpp"

int main()
{
    // 初始化 ZeroMQ 上下文
    zmq::context_t context(1);

    // 创建发布者 socket
    zmq::socket_t publisher(context, ZMQ_PUB);
    publisher.bind("tcp://*:5555");

    int count = 0;

    while (true)
    {
        // 准备消息数据
        std::string msg = "Message #" + std::to_string(count++);

        // 创建消息
        zmq::message_t message(msg.size());
        memcpy(message.data(), msg.data(), msg.size());

        // 发送消息
        publisher.send(message, zmq::send_flags::none);

        std::cout << "Sent: " << msg << std::endl;

        // 每秒发送一次
        std::this_thread::sleep_for(std::chrono::seconds(1));
    }

    return 0;
}
